查看原文
其他

你应该用复合赋值语句?

正念君 嵌入式大杂烩 2021-01-31

       

增加一个变量的值有两种方式,如:a = a + 5和a += 5。存在两种增加一个变量值的方法有何意义呢?K&R C设计者认为复合赋值符可以让程序员把代码写得更清楚些。另外,编译器可以产生更为紧凑的代码。


现在,a = a + 5和a += 5之间的差别不再那么显著,而且现代的编译器为这两种表达式产生优化代码并无多大问题。但是,要考虑如下两条语句:

此处a为数组。在第一种形式种,由于编译器无从知道f函数是否具有副作用,所以它必须两次计算数组a的下标表达式的值。而在第二种形式中,下标表达式只需计算一次,所以第二种形式效率更高。并且,从书写的角度看,第一种形式的下标表达式需要书写两次,而第二种形式只需书写一次。

基于这些理由,我们应该使用复合赋值语句。


历史文章精选:

01 二维数组作为函数参数

02 小学生都在使用手机学习编程了,你还在吃鸡打王者?

03 别用Visua C++6.0来开发C程序了,用……

04 使用Notepad++来开发C程序

05 关于main()

06 一份通俗易懂的C语言内存总结

07 数组问题:a与&a有什么不同

08 C语言函数参数压栈的顺序是?

09 getchar()、getche()、getch()的区别?

10 【校招编程01】级数求和

11 【校招编程02】优雅的点

12 【校招编程03】整数翻转

13 【校招编程04】懂二进制

14 【校招编程05】找符合条件的数

15 程序员的桌面,好酷!!!

16 static有几种用法?


每日一句

高度不够,看到的都是问题;格局太小,纠结的都是鸡毛蒜皮。


我是肥胖的正念君

觉得正念君很胖的话

记得分享给你的同学与朋友喔

↓     ↓     ↓     ↓     ↓     ↓

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存